Matrices die met de instructies Dim, ReDim of Static zijn gedeclareerd, kunnen niet worden met ByVal worden doorgegeven. Voor deze fout zijn de volgende oorzaak en oplossing mogelijk:
Een afzonderlijk onderdeel van een matrix kan worden doorgegeven (via waarde) met ByVal maar een volledige matrix moet (via verwijzing) met ByRef worden doorgegeven. ByRef is de standaardinstelling. Als u een matrix hebt die u met ByVal moet doorgeven en u wilt dit ook doen om te voorkomen dat wijzigingen in de matrixonderdelen weer worden doorgegeven aan de oproepende procedure, kunt u het matrixargument doorgeven binnen de eigen haken. U kunt het matrixargument ook in een Variant plaatsen en vervolgens de Variant doorgeven aan de parameter ByVal, op de volgende wijze:
Dim MyVar As Variant
MyVar = OldArray()
Selecteer voor aanvullende informatie het desbetreffende item en druk op F1 (in Windows) of op HELP (op de Macintosh).